var Hogan = require('hogan.js');

//封装服务器地址
var config = {
    serverHost : 'http://localhost:8090/'
}


var _util = {
    request : function(param){
        var _this = this;
        $.ajax({
            type      : param.method || 'GET',
            url       : param.url    || '',
            dataType  : param.type || 'json',
            data      : param.data || '',
            xhrFields : {
                withCredentials : true,
            },
            success  : function(res){
                if(0 === res.status){
                    //运营短路技巧 运行success函数
                    typeof param.success === 'function' && param.success(res.data,res.msg);
                }
                else if(1 === res.status){
                    typeof param.error === 'function' && param.error(res.msg);
                }
                else if(10 === res.status){
                    //跳转到登录界面
                    _this.dologin();
                }
            },
            error    : function(errMsg){
                typeof param.error === 'function' && param.error("服务器异常");
            }
        });
    },
    dologin : function(){
        window.location.href = './user-login.html?redirect=' + encodeURIComponent(window.location.href);
    },
    getServerURL: function(path){
        return config.serverHost + path;
    },
    //目前只有非空校验，继续拓展
    validateField : function(fieldType,fieldValue){
        var fieldValue = $.trim(fieldValue);

        if(fieldType === 'require'){
            return !!fieldValue;
        }
        //验证手机号
        if(fieldType === 'phoneNumber'){
            var exp_string = /^1[3456789]{1}\d{9}$/;
            var exp = new RegExp(exp_string);
            if(!exp.test(fieldValue))
                return false;
            else
                return true;
        }
        //可以增加电话、邮箱等校验
    },
    getURLParam : function(name){
        //http://localhost:8888/user-login.html?redirect=x.html&a=1&b=2
        var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
        var result = window.location.search.substring(1).match(reg);
        return result ? decodeURIComponent(result[2]) : null;
    },
    renderHtml : function(htmlTemplate,data){
        //编译HTML
        var template = Hogan.compile(htmlTemplate);
        //添加数据
        var result = template.render(data);
        return result;
    }
};

//输出
module.exports = _util;